|
updated 20.02.10 15:57 20.02.10 13:29 |
Модификатор | Про лаги игры |
ru |
Думается мне, что во многом "проклятие" тормознутости этой игры заключается в том, что любые размены, любые приёмы - мгновенны. Как пример. Юзает игрок Призрачную защиту - отправляется запрос на сервер, потом он обрабатывается, потом возвращаются данные о состоянии боя на текущий момент. Юзает игрок Усиленные удары - отправляется запрос, обрабатывается, возвращаются данные (в полном объёме). Предположим, я за размен юзаю 1-3 приёма + сам размен. Это 2-4 запроса плюс обработка каждого.
Если взять пример из реальной жизни, то это сравнимо с тем, если бы я подзывал официанта каждый раз на каждый свой заказ. Разумеется, гораздо удобнее было бы сначала составить список того, что я заказываю, и за один раз отдать весь заказ официанту. Как это выглядело бы в БКшных реалиях?
Сначала составляется список приемов, который я хочу использовать в данном размене. Когда я нажимаю кнопку "вперед" - я выражаю свою готовность отправить запрос на сервер (читай: официанту). Сервер проверяет, возможно ли осуществить такой размен (хватает ли тактик, маны, стрел, жив ли персонаж и так далее). Если возможно - то сервер обрабатывает размен и возвращает его. Минус (он же огромный плюс) данной системы в том, что уже невозможно будет наносить мгновенные заклятия (как обычные касты, так и приемы вроде прорыва).
Система, описанная выше, подразумевает, что официант после подхода к каждому столику будет возвращаться на кухню и обратно. Можно ли сделать ещё лучше? Можно!
Официант собирает единовременно все заказы только когда все участники боя их приготовили. Тогда не будет необходимости возвращаться каждый раз с новым заказом, достаточно пройтись один раз. Этим подразумевается, что размены будут единовременные не только для двух противоположных участников боя, а для обеих команд. Тогда бой можно делить на ходы не отдельных персонажей, а на некие "стадии боя" - одновременные ходы всех персов. Это во многом упрощает обновление окна: если в памяти браузера уже хранится информация о стадии боя номер N, то при обновлении окна будет использована локальная информация, а не новая с сервера. К тому же, уверен, это интереснее и с точки зрения самого боя. Проблема будет только в боях 2 на 100, например, когда 50 персонажей бьют в единственный размен одного... Но разве это не логичнее?
Update: Нельзя забывать и о такой мощной библиотеке JS, как jQuery, которая значительно может упростить многие функции на клиентской стороне. Есть еще одна интересная библиотека - Raphaël - но пока что практического применения в рунете я не видел, хотя смотрится очень эффективно.
|
Comments: 43 | |
|
|
|
updated 25.03.10 12:09 17.02.10 19:27 |
Pinky Love | |
ru |
Mood: черт возьми... Music: А. Понамарёв - А мы не ангелы, парень
|
Comments: 8 | |
|
|
|
updated 11.02.10 16:25 11.02.10 15:52 |
Куруфин | Кот Саймона. Репост |
ru |
Последний мульт о черно-белом коте обзавелся небольшим продолжением. ;) Законченный продукт, так сказать. Решил отпостить заново, потому что старая ссылка (на 1-ую часть) больше не действительна - пусть уж будет.
Остальные мульты серии - здесь. ;)
|
Comments: 27 | |
|
|
|
07.02.10 12:53 |
Шелезяка | The Portal Song |
ru |
Mood: нейтральное ![](http://img.combats.com/i/smile/smoke.gif)
|
|
|
|
Total posts: 1693 Pages: 170
1.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 99 100 101 102 103 104 105 106 107 108 109 110.. 120.. 130.. 140.. 150.. 160.. 170
|
|
Mo |
Tu |
We |
Th |
Fr |
Sa |
Su |
| | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | | |
|